package dao;

import classes.entidade.Auditoria;
import conexao.GerenciadorConexao;
import erro.ConexaoException;
import erro.ConsultaException;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 *
 * @author roberta.m.carvalho
 */
public class AuditoriaDao {

    private GerenciadorConexao g;

    public AuditoriaDao() {
        g = GerenciadorConexao.getInstancia();
    }

    public void inserirAuditoria(Auditoria a) throws ConexaoException, ConsultaException {
        String sql = "INSERT INTO auditoria(numero,justificativa,escopo,dataExame,dataAuditado"
                + ",matricula,idareaauditada,idorgao,idtipoAuditoria) "
                + "VALUES (?,?,?,?,?,?,?,?,?)";
        try {
            PreparedStatement pstm = (PreparedStatement) g.connect().prepareStatement(sql);
            pstm.setInt(1, a.getNumero());
            pstm.setString(2, a.getJustificativa());
            pstm.setString(3, a.getEscopo());
            pstm.setDate(4, new java.sql.Date(a.getExame().getTime()));
            pstm.setDate(5, new java.sql.Date(a.getAuditado().getTime()));
            pstm.setInt(6, a.getSolicitante().getMatricula());
            pstm.setInt(7, a.getArea().getIdAreaAuditada());
            pstm.setInt(8, a.getOrgao().getIdOrgao());
            pstm.setInt(9, a.getTipo().getIdTipo());
            pstm.executeUpdate();
        } catch (SQLException ex) {
            throw new ConsultaException(ex);
        } finally {
            g.disconnect();
        }
    }

}
